在 [Day 07] 事件表實作 - 檢查篇(下) 的時候,我有提到了變數的觀念,也就是變數做為一個容器,可以被賦予名字,並且可以在容器內放入一些數字、字串等,而且可以隨時把變數內的東西拿出來使用,或是修改。
但關於變數還有一些重要的部分我沒有介紹到,所以今天會來補充介紹關於變數的一些特性。
在事件表中,我們一般使用 儲存全域變數 來定義一個新的變數,而變數的值有四種型別,分別是 字串、整數、數字、布林值。
true
、false
,真、假的意思,電腦的世界是由 1 跟 0 所組成的,這兩個值也分別代表著 1 跟 0,所以如果選擇了布林值,就可以在變數值裡面填入這四種結果,系統最後都會把它轉換成 true
和 false
,你可能會問這個型別的意義在哪裡,其實在我們的檢查通過時,它所回傳用於判斷是否通過的結果,正是布林值,布林值通常用於在程式中作為邏輯判斷,除此之外,還有像是我們要定義某個東西是否是食物的時候,也可以這麼使用 apple.food = true
,當然不只是定義是否為食物啦。在事件表中,變數分為兩種,一種叫做 全域變數,另一種則為 區域變數。
event_0001
定義了一個變數 name = 酷可
,我也可以在 event_0010
使用 {name}
來讀取裡面的 酷可
出來。event_0002
中利用檢查儲存了一個區域變數 instance = ai_1
,我可以在同樣的事件裡使用 {instance}
來讀取變數,但如果我在事件 event_0003
中嘗試使用 {instance}
來讀取變數,最後系統只會讀到 undefined
,也就是 未定義 的意思。今天比較輕鬆一點,因為變數最重要的觀念在前天都介紹過了,今天算是一個補充,不過我還是做了一個簡單的範例,主要是用來測試變數的作用範圍。
我總共新增了三個事件,第一個事件中我建立了一個全域變數 score = 60
,並且新增了一個角色,還有彈出字串輸入視窗,讓玩家輸入名字。
第二個事件中我偵測當玩家確認視窗後,將輸入的內容儲存成區域變數 name
,接著再藉由角色說話說出:「這位新來的 {name},你的分數只有 {score},看來該好好訓練一下了。
」,並且等待說話結束後觸發第三個事件。
第三個事件設定為參考事件,而動作就是跟第二個事件一模一樣的角色說話,藉此來看看,在不同的事件中,同樣的動作,讀取同樣的變數會發生什麼事情。
除了前天介紹的變數與容器的關係,今天對變數做了些更完整的補充,介紹了變數有 字串、整數、數字、布林值 這四種型別,以及變數的作用範圍分為 全域、區域 兩種,我個人認為變數的作用範圍相對的會比較複雜,因為之後你就會發現,其實有些檢查、動作,都具有傳輸區域變數到其他事件的功能,如果沒有規劃好,可能就會互相造成衝突,互相影響到彼此的區域變數,導致最後執行出來的結果出現問題,所以如果以後真的用到了相關的功能,這個部分就得多加注意了!
總覺得之前的介紹似乎都太過冗長,因為希望任何人都可以看懂,還有 CG 與許多人都是初次見面的關係,所以我花了很多精力在針對基礎進行補充,不過接下來應該會考慮再想辦法更精簡一點了。